%%This is a very basic article template.
%%There is just one section and two subsections.
\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{positioning,fit}
\pagestyle{empty}
\begin{document}


\begin{tikzpicture}
\node[
	circle,
	draw
](R1) {$R_1$};
\node[
	circle,
	draw,
	right=5pt of R1,
	yshift=-10pt
](R2) {$R_2$};
\node[
	circle,
	draw,
	left=5pt of R2,
	yshift=-20pt
](R3) {$R_3$};
\node[
	circle,
	draw,
	fit=(R1)(R2)(R3)
](queries) {}; 
\node[
	below=0pt of queries
](queries-label){queries};
\node[
	rectangle,
	draw,
	right=50pt of queries,
	minimum height=30pt,
	minimum width=100pt
](translation) {Translation};
\path[->,thick] (queries) edge (translation);
\node[
	circle,
	draw,
	minimum width=5pt,
	yshift=-10pt,
	xshift=10pt,
	style={very thick}
](circle-1) at (translation.north west)  {};
\node[
	circle,
	draw,
	minimum width=15pt,
	style={dashed}
](circle-2) at (circle-1) {};
\node[
	circle,
	draw,
	right=260pt of R1
](P1) {$P_1$};
\node[
	circle,
	draw,
	right=5pt of P1,
	yshift=-10pt
](P2) {$P_2$};
\node[
	circle,
	draw,
	left=5pt of P2,
	yshift=-20pt
](P3) {$P_3$};
\node[
	circle,
	draw,
	fit=(P1)(P2)(P3)
](patterns) {};
\path[->,thick](translation) edge (patterns);
\node[
	below=0pt of patterns
](patterns-label){patterns};
\node[
	rectangle,
	draw,
	below=40pt of translation,
	minimum height=30pt,
	minimum width=100pt
](classification) {Classification};
\node[
	circle,
	draw,
	minimum width=5pt,
	style={very thick},
	yshift=-10pt,
	xshift=10pt
](circle-11) at (classification.north west)  {};
\node[
	circle,
	draw,
	minimum width=15pt,
	style={dashed}
](circle-21) at (circle-11) {};
\path[->,thick](patterns) edge (classification);
\node[
	circle,
	draw,
	left=40pt of classification
](P11){$P_1$};
\node[
	circle,
	draw,
	left=40pt of P11
](R11){$R_1$};
\path[->,thick](classification) edge (P11);
\path[->,thick](P11) edge(R11);
\node[
	right=65pt of classification
](question) {questions};
\path[->,thick](question) edge (classification);
\end{tikzpicture}

\end{document}
